using KayakMes.Common.Dtos.TeamDTO.Input;
using KayakMes.Common.Dtos.TeamDTO.Output;
using KayakMes.Common.Result;

namespace KayakMes.ProcessManagement.Application.Scheduling
{
    public interface ITeamTypeService
    {
        /// <summary>
        /// 新增班组类型
        /// </summary>
        /// <param name="input">班组类型输入信息</param>
        /// <returns></returns>
        ApiResult<int> Add(TeamTypeInput input);

        /// <summary>
        /// 获取班组类型列表（分页）
        /// </summary>
        /// <param name="input">查询条件</param>
        /// <returns></returns>
        ApiPaging<TeamTypeOutput> GetTeamTypeList(GetTeamTypeInput input);

        /// <summary>
        /// 根据Id获取班组类型信息
        /// </summary>
        /// <param name="id">班组类型ID</param>
        /// <returns></returns>
        ApiResult<TeamTypeOutput> FindTeamType(long id);

        /// <summary>
        /// 根据Id删除班组类型
        /// </summary>
        /// <param name="id">班组类型ID</param>
        /// <returns></returns>
        ApiResult<int> DeleteTeamType(long id);

        /// <summary>
        /// 修改班组类型信息
        /// </summary>
        /// <param name="input">班组类型更新信息</param>
        /// <returns></returns>
        ApiResult<int> UpdateTeamType(TeamTypeOutput input);
    }
} 